﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DeckOfCards.Domain
{
    class MazzoFabrica
    {

        internal static Mazzo CreareMazzoDaDefinizione(DefinizioneMazzo Def)
        {
            Mazzo nuovoMazzo = new Mazzo();
            foreach(DefinizioneSeme semeDaCreare in Def.GetSemi())
            {
                foreach (Carta.ValoreDiFacciataEnum valoreFaccia in semeDaCreare.Valori)
                {
                    Seme semeDallaDefinizione = Seme.GetSeme(semeDaCreare.Nome);
                    semeDallaDefinizione.Colore = semeDaCreare.Colore;
                    Carta newCard = new Carta(valoreFaccia, semeDallaDefinizione);
                    nuovoMazzo.AggiungereCarta(newCard);
                }
            }
            return nuovoMazzo;
        }
    }
}
